The worst nightmare of every COBOL maintenance programmer is a program where you have to follow 12 concatenated PERFORM
statements
before you get to the actual processing. This is considered to be the GOTO
-less version of spaghetti programming.
This situation can be avoided by having a mainline procedure at the beginning of the procedure division which concentrates all program control, and
which reads like a map of the program. This mainline procedure should be free from detailed operations such as moving fields, calculations, I/O
operations, and so on.
This rule helps ensure that most program control is concentrated in the mainline procedure (the first one in the program) by preventing the other
procedures from having more than a predefined threshold of "PERFORM" statements.